package com.demo49_异位词;

import java.util.*;

public class Solution {

    public static void main(String[] args) {

    }
    public  List<List<String>> groupAnagrams(String[] str){
        HashMap<String, List<String>> map = new HashMap<>();
        for (int i = 0; i < str.length; i++) {

            char[] chars=str[i].toCharArray();
            Arrays.sort(chars);
            String key = new String(chars);

            // 该方法是:  如果map 中存在这个key , 那么返回key 所对应的 value , 如果不存在则直接返回 第 2个参数: new ArrayList<String>()
            List<String> list = map.getOrDefault(key, new ArrayList<String>());
            list.add(str[i]);
            map.put(key,list);
        }

        List<List<String>> list=new ArrayList<>();
        Set<String> set = map.keySet();

        for (String key : set) {
            list.add(map.get(key));
        }
        return list;
    }

}
